package cn.hc.sp03.user.service;


import com.fasterxml.jackson.core.type.TypeReference;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.stereotype.Service;
import sp01.pojo.User;
import sp01.service.UserService;
import web.util.JsonUtil;

import java.util.List;

/**
 * @author 海绵宝宝
 * date 2021/10/26 17:55
 */
@Service
@Slf4j
@RefreshScope/*动态刷新新的配置文件数据，可以重新注入到这个对象中*/
public class userServiceImpl implements UserService {
    @Value("${sp.user-service.users}")
    private String userJson;
    @Override
    public User getUser(Integer id) {
        log.info("获取用户，userId="+id);
        List<User> list = JsonUtil.from(userJson, new TypeReference<List<User>>() {});
        for(User user : list){
            if(user.getId().equals(id)){
                return user;
            }
        }
        return new User(id,"用户名"+id,"密码"+id);
    }

    @Override
    public void addScore(Integer id, Integer score) {
        log.info("增加用户积分，userId = "+id+",积分="+score);
    }
}
